home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / shells / zsh-3.0-p / zsh-3 / zsh-3.0-pre3 / INSTALL < prev    next >
Text File  |  1996-07-05  |  8KB  |  189 lines

  1. $Id: INSTALL,v 2.4 1996/07/05 20:46:17 hzoli Exp $
  2.  
  3. Check MACHINES File
  4. -------------------
  5. Check the file MACHINES in the subdirectory Etc to see the architectures
  6. that zsh is known to compile on, as well as any special instructions
  7. for your particular architecture.  Most architectures will not require any
  8. special instructions.
  9.  
  10. Configuring Zsh
  11. ---------------
  12. To configure zsh, from the top level directory, do the command:
  13.     ./configure
  14.  
  15. Configure accepts several options (explained below).  To display
  16. currently available options, do the command:
  17.     ./configure --help
  18.  
  19. Most of the interesting configuration options can be added after running
  20. configure by editing the user configuration section of config.h and the
  21. top level Makefile.
  22.  
  23. Compiler Options or Using a Different Compiler
  24. ----------------------------------------------
  25. By default, configure will use the "gcc" compiler if found.  You can use a
  26. different compiler, or add unusual options for compiling or linking that
  27. the "configure" script does not know about, by either editing the user
  28. configuration section of the top level Makefile (after running configure)
  29. or giving "configure" initial values for these variables by setting them
  30. in the environment.  Using a Bourne-compatible shell (such as sh,ksh,zsh),
  31.  
  32. you can do that on the command line like this:
  33.     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
  34.  
  35. Or on systems that have the "env" program, you can do it like this:
  36.     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
  37.  
  38. Check Generated Files
  39. ---------------------
  40. Configure will probe your system and create a "config.h" header file.
  41. You should  check the user configuration section at the beginning of
  42. this include file.  You should also examine the values (determined by
  43. configure) of HOSTTYPE, OSTYPE, MACHTYPE, and VENDOR to make sure they
  44. are correct.  The value of these #defines's is used only to initialize
  45. the corresponding default shell parameters.  Since these shell parameters
  46. are only for informational purposes, you can change them to whatever
  47. you feel is appropriate.
  48.  
  49. Also configure will create a Makefile in the top level directory as well
  50. as in the various subdirectories.  You should check the user configuration
  51. section of the top level Makefile.
  52.  
  53. Compiling Zsh
  54. -------------
  55. After configuring, to build zsh, do the command:
  56.     make
  57.  
  58. Installing Zsh
  59. --------------
  60. If no make/compilation errors occur, then to install the zsh binary, do
  61. the command:
  62.     make install.bin
  63.  
  64. Any previous copy of zsh will be renamed "zsh.old"
  65.                    
  66. To install the zsh man page, do the command:
  67.     make install.man
  68.  
  69. To install the zsh info files, do the command:
  70.     make install.info
  71.  
  72. Or alternatively, you can install all the above with the command:
  73.     make install
  74.  
  75. "make install.info" will only move the info files into the info directory.
  76. You will have to edit the topmost node of the info tree "dir" manually
  77. in order to have the zsh info files available to your info reader.
  78.  
  79. Building Zsh On Additional Architectures
  80. ----------------------------------------
  81. To build zsh on additional architectures, you can do a "make distclean".
  82. This should restore the zsh source distribution back to its original
  83. state.  You can then configure zsh as above on other architectures in
  84. which you wish to build zsh.  Or alternatively, you can use a different
  85. build directory for each architecture.
  86.  
  87. Using A Different Build Directory
  88. ---------------------------------
  89. You can compile the zsh in a different directory from the one containing
  90. the source code.  Doing so allows you to compile it on more than one
  91. architecture at the same time.  To do this, you must use a version of
  92. "make" that supports the "VPATH" variable, such as GNU "make".  "cd" to
  93. the directory where you want the object files and executables to go and
  94. run the "configure" script.  "configure" automatically checks for the
  95. source code in the directory that "configure" is in.  For example,
  96.  
  97.     cd /usr/local/SunOS/zsh
  98.     /usr/local/src/zsh-3.0/configure
  99.     make
  100.  
  101. Memory Routines
  102. ---------------
  103. Included in this release are alternate malloc and associated functions
  104. which reduce memory usage on some systems. To use these, add the option
  105.   --enable-zsh-mem
  106. when invoking "configure".
  107.  
  108. You should check Etc/MACHINES to see if there are specific recommendations
  109. about using the zsh malloc routines on your particular architecture.
  110.  
  111. Debugging Routines
  112. ------------------
  113. You can turn on various debugging options when invoking "configure".
  114.  
  115. To turn on some extra checking in the memory management routines, you
  116. can use the following options when invoking "configure".
  117.  --enable-zsh-mem-warning      # turn on warnings of memory allocation errors
  118.  --enable-zsh-secure-free      # turn on memory checking of free()
  119.  
  120. If you are using zsh's memory allocation routines (--enable-zsh-mem), you
  121. can turn on debugging of this code.  This enables the builtin "mem".
  122.  --enable-zsh-mem-debug        # debug zsh's memory allocators
  123.  
  124. You can turn on some debugging information of zsh's internal hash tables.
  125. This enables the builtin "hashinfo".
  126.  --enable-zsh-hash-debug       # turn on debugging of internal hash tables
  127.  
  128. To add some sanity checks and generate debugging information for debuggers
  129. you can use the following option.  This also disables optimization.
  130.  --enable-zsh-debug            # use it if you want to debug zsh
  131.  
  132. Startup/shutdown files
  133. ----------------------
  134.  
  135. Zsh has several startup/shutdown files which are in /etc by default.  This
  136. can be overriden using one of the options below when invoking "configure".
  137.  
  138.  --enable-etcdir=directory    # default directory for global zsh scripts
  139.  --enable-zshenv=pathname     # the full pathname of the global zshenv script
  140.  --enable-zshrc=pathname      # the full pathname of the global zshrc script
  141.  --enable-zlogin=pathname     # the full pathname of the global zlogin script
  142.  --enable-zprofile=pathname   # the full pathname of the global zprofile script
  143.  --enable-zlogout=pathname    # the full pathname of the global zlogout script
  144.  
  145. Any startup/shutdown script can be disabled by giving the
  146. --disable-scriptname option to "configure".  The --disable-etcdir option
  147. disables all startup/shutdown files which are not explicitely enabled.
  148.  
  149.  
  150. Options For Configure
  151. ---------------------
  152. The `configure' program accepts many options, not all of which are useful
  153. or relevant to zsh.  To get the complete list of configure options, run
  154. "./configure --help".  The following list should contain most of the
  155. options of interest for configuring zsh.
  156.  
  157. Configuration:
  158.   --cache-file=FILE      # cache test results in FILE
  159.   --help                 # print a help message
  160.   --version              # print the version of autoconf that create configure
  161.   --quiet, --silent      # do not print `checking...' messages
  162.   --no-create            # do not create output files
  163.  
  164. Directories:
  165.   --prefix=PREFIX        # install host independent files in PREFIX [/usr/local]
  166.   --exec-prefix=EPREFIX  # install host dependent files in EPREFIX [same as prefix]
  167.   --bindir=DIR           # install user executables in DIR [EPREFIX/bin]
  168.   --infodir=DIR          # install info documentation in DIR [PREFIX/info]
  169.   --mandir=DIR           # install man documentation in DIR [PREFIX/man]
  170.   --srcdir=DIR           # find the sources in DIR [configure dir or ..]
  171.  
  172. Features:
  173.   --enable-FEATURE       # enable use of this feature
  174.   --disable-FEATURE      # disable use of this feature
  175.  
  176.      The FEATURES currently supported are:
  177.      zsh-debug           # use it if you want to debug zsh
  178.      zsh-mem             # use zsh's memory allocators
  179.      zsh-mem-debug       # debug zsh's memory allocators
  180.      zsh-mem-warning     # turn on warnings of memory allocation errors
  181.      zsh-secure-free     # turn on memory checking of free()
  182.      zsh-hash-debug      # turn on debugging of internal hash tables
  183.      etcdir=directory    # default directory for global zsh scripts
  184.      zshenv=pathname     # the full pathname of the global zshenv script
  185.      zshrc=pathname      # the full pathname of the global zshrc script
  186.      zlogin=pathname     # the full pathname of the global zlogin script
  187.      zprofile=pathname   # the full pathname of the global zprofile script
  188.      zlogout=pathname    # the full pathname of the global zlogout script
  189.